#pragma once
#include "order_processor_interfaces.h"
#include <mutex>
#include <string>

class StateManagerImpl : public IStateManager {
public:
    explicit StateManagerImpl(const std::string& savePath);
    void saveState() override;
    bool restoreState() override;

private:
    std::string savePath_;
    std::mutex mutex_;
    std::atomic<bool> isSaving_{false};
};